﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000EA1 RID: 3745
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueCommonDialogueOptionInfo : IMessage<RogueCommonDialogueOptionInfo>, IMessage, IEquatable<RogueCommonDialogueOptionInfo>, IDeepCloneable<RogueCommonDialogueOptionInfo>, IBufferMessage
	{
		// Token: 0x17002F83 RID: 12163
		// (get) Token: 0x0600A7CE RID: 42958 RVA: 0x001C5614 File Offset: 0x001C3814
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueCommonDialogueOptionInfo> Parser
		{
			get
			{
				return RogueCommonDialogueOptionInfo._parser;
			}
		}

		// Token: 0x17002F84 RID: 12164
		// (get) Token: 0x0600A7CF RID: 42959 RVA: 0x001C561B File Offset: 0x001C381B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueCommonDialogueOptionInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002F85 RID: 12165
		// (get) Token: 0x0600A7D0 RID: 42960 RVA: 0x001C562D File Offset: 0x001C382D
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueCommonDialogueOptionInfo.Descriptor;
			}
		}

		// Token: 0x0600A7D1 RID: 42961 RVA: 0x001C5634 File Offset: 0x001C3834
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueCommonDialogueOptionInfo()
		{
		}

		// Token: 0x0600A7D2 RID: 42962 RVA: 0x001C5648 File Offset: 0x001C3848
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueCommonDialogueOptionInfo(RogueCommonDialogueOptionInfo other) : this()
		{
			this.optionId_ = other.optionId_;
			this.isValid_ = other.isValid_;
			this.optionResultInfo_ = other.optionResultInfo_.Clone();
			this.argId_ = other.argId_;
			this.confirm_ = other.confirm_;
			this.displayValue_ = ((other.displayValue_ != null) ? other.displayValue_.Clone() : null);
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600A7D3 RID: 42963 RVA: 0x001C56C9 File Offset: 0x001C38C9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueCommonDialogueOptionInfo Clone()
		{
			return new RogueCommonDialogueOptionInfo(this);
		}

		// Token: 0x17002F86 RID: 12166
		// (get) Token: 0x0600A7D4 RID: 42964 RVA: 0x001C56D1 File Offset: 0x001C38D1
		// (set) Token: 0x0600A7D5 RID: 42965 RVA: 0x001C56D9 File Offset: 0x001C38D9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint OptionId
		{
			get
			{
				return this.optionId_;
			}
			set
			{
				this.optionId_ = value;
			}
		}

		// Token: 0x17002F87 RID: 12167
		// (get) Token: 0x0600A7D6 RID: 42966 RVA: 0x001C56E2 File Offset: 0x001C38E2
		// (set) Token: 0x0600A7D7 RID: 42967 RVA: 0x001C56EA File Offset: 0x001C38EA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsValid
		{
			get
			{
				return this.isValid_;
			}
			set
			{
				this.isValid_ = value;
			}
		}

		// Token: 0x17002F88 RID: 12168
		// (get) Token: 0x0600A7D8 RID: 42968 RVA: 0x001C56F3 File Offset: 0x001C38F3
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<RogueCommonDialogueOptionResultInfo> OptionResultInfo
		{
			get
			{
				return this.optionResultInfo_;
			}
		}

		// Token: 0x17002F89 RID: 12169
		// (get) Token: 0x0600A7D9 RID: 42969 RVA: 0x001C56FB File Offset: 0x001C38FB
		// (set) Token: 0x0600A7DA RID: 42970 RVA: 0x001C5703 File Offset: 0x001C3903
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint ArgId
		{
			get
			{
				return this.argId_;
			}
			set
			{
				this.argId_ = value;
			}
		}

		// Token: 0x17002F8A RID: 12170
		// (get) Token: 0x0600A7DB RID: 42971 RVA: 0x001C570C File Offset: 0x001C390C
		// (set) Token: 0x0600A7DC RID: 42972 RVA: 0x001C5714 File Offset: 0x001C3914
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Confirm
		{
			get
			{
				return this.confirm_;
			}
			set
			{
				this.confirm_ = value;
			}
		}

		// Token: 0x17002F8B RID: 12171
		// (get) Token: 0x0600A7DD RID: 42973 RVA: 0x001C571D File Offset: 0x001C391D
		// (set) Token: 0x0600A7DE RID: 42974 RVA: 0x001C5725 File Offset: 0x001C3925
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueCommonDialogueOptionDisplayInfo DisplayValue
		{
			get
			{
				return this.displayValue_;
			}
			set
			{
				this.displayValue_ = value;
			}
		}

		// Token: 0x0600A7DF RID: 42975 RVA: 0x001C572E File Offset: 0x001C392E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueCommonDialogueOptionInfo);
		}

		// Token: 0x0600A7E0 RID: 42976 RVA: 0x001C573C File Offset: 0x001C393C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueCommonDialogueOptionInfo other)
		{
			return other != null && (other == this || (this.OptionId == other.OptionId && this.IsValid == other.IsValid && this.optionResultInfo_.Equals(other.optionResultInfo_) && this.ArgId == other.ArgId && this.Confirm == other.Confirm && object.Equals(this.DisplayValue, other.DisplayValue) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600A7E1 RID: 42977 RVA: 0x001C57D0 File Offset: 0x001C39D0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.OptionId != 0U)
			{
				num ^= this.OptionId.GetHashCode();
			}
			if (this.IsValid)
			{
				num ^= this.IsValid.GetHashCode();
			}
			num ^= this.optionResultInfo_.GetHashCode();
			if (this.ArgId != 0U)
			{
				num ^= this.ArgId.GetHashCode();
			}
			if (this.Confirm)
			{
				num ^= this.Confirm.GetHashCode();
			}
			if (this.displayValue_ != null)
			{
				num ^= this.DisplayValue.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600A7E2 RID: 42978 RVA: 0x001C587E File Offset: 0x001C3A7E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600A7E3 RID: 42979 RVA: 0x001C5886 File Offset: 0x001C3A86
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600A7E4 RID: 42980 RVA: 0x001C5890 File Offset: 0x001C3A90
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.ArgId != 0U)
			{
				output.WriteRawTag(48);
				output.WriteUInt32(this.ArgId);
			}
			if (this.IsValid)
			{
				output.WriteRawTag(56);
				output.WriteBool(this.IsValid);
			}
			if (this.Confirm)
			{
				output.WriteRawTag(64);
				output.WriteBool(this.Confirm);
			}
			if (this.displayValue_ != null)
			{
				output.WriteRawTag(82);
				output.WriteMessage(this.DisplayValue);
			}
			this.optionResultInfo_.WriteTo(ref output, RogueCommonDialogueOptionInfo._repeated_optionResultInfo_codec);
			if (this.OptionId != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.OptionId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600A7E5 RID: 42981 RVA: 0x001C5950 File Offset: 0x001C3B50
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.OptionId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.OptionId);
			}
			if (this.IsValid)
			{
				num += 2;
			}
			num += this.optionResultInfo_.CalculateSize(RogueCommonDialogueOptionInfo._repeated_optionResultInfo_codec);
			if (this.ArgId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.ArgId);
			}
			if (this.Confirm)
			{
				num += 2;
			}
			if (this.displayValue_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.DisplayValue);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600A7E6 RID: 42982 RVA: 0x001C59EC File Offset: 0x001C3BEC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueCommonDialogueOptionInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.OptionId != 0U)
			{
				this.OptionId = other.OptionId;
			}
			if (other.IsValid)
			{
				this.IsValid = other.IsValid;
			}
			this.optionResultInfo_.Add(other.optionResultInfo_);
			if (other.ArgId != 0U)
			{
				this.ArgId = other.ArgId;
			}
			if (other.Confirm)
			{
				this.Confirm = other.Confirm;
			}
			if (other.displayValue_ != null)
			{
				if (this.displayValue_ == null)
				{
					this.DisplayValue = new RogueCommonDialogueOptionDisplayInfo();
				}
				this.DisplayValue.MergeFrom(other.DisplayValue);
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600A7E7 RID: 42983 RVA: 0x001C5AA1 File Offset: 0x001C3CA1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600A7E8 RID: 42984 RVA: 0x001C5AAC File Offset: 0x001C3CAC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 64U)
				{
					if (num == 48U)
					{
						this.ArgId = input.ReadUInt32();
						continue;
					}
					if (num == 56U)
					{
						this.IsValid = input.ReadBool();
						continue;
					}
					if (num == 64U)
					{
						this.Confirm = input.ReadBool();
						continue;
					}
				}
				else
				{
					if (num == 82U)
					{
						if (this.displayValue_ == null)
						{
							this.DisplayValue = new RogueCommonDialogueOptionDisplayInfo();
						}
						input.ReadMessage(this.DisplayValue);
						continue;
					}
					if (num == 98U)
					{
						this.optionResultInfo_.AddEntriesFrom(ref input, RogueCommonDialogueOptionInfo._repeated_optionResultInfo_codec);
						continue;
					}
					if (num == 112U)
					{
						this.OptionId = input.ReadUInt32();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
			}
		}

		// Token: 0x0400443A RID: 17466
		private static readonly MessageParser<RogueCommonDialogueOptionInfo> _parser = new MessageParser<RogueCommonDialogueOptionInfo>(() => new RogueCommonDialogueOptionInfo());

		// Token: 0x0400443B RID: 17467
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400443C RID: 17468
		public const int OptionIdFieldNumber = 14;

		// Token: 0x0400443D RID: 17469
		private uint optionId_;

		// Token: 0x0400443E RID: 17470
		public const int IsValidFieldNumber = 7;

		// Token: 0x0400443F RID: 17471
		private bool isValid_;

		// Token: 0x04004440 RID: 17472
		public const int OptionResultInfoFieldNumber = 12;

		// Token: 0x04004441 RID: 17473
		private static readonly FieldCodec<RogueCommonDialogueOptionResultInfo> _repeated_optionResultInfo_codec = FieldCodec.ForMessage<RogueCommonDialogueOptionResultInfo>(98U, RogueCommonDialogueOptionResultInfo.Parser);

		// Token: 0x04004442 RID: 17474
		private readonly RepeatedField<RogueCommonDialogueOptionResultInfo> optionResultInfo_ = new RepeatedField<RogueCommonDialogueOptionResultInfo>();

		// Token: 0x04004443 RID: 17475
		public const int ArgIdFieldNumber = 6;

		// Token: 0x04004444 RID: 17476
		private uint argId_;

		// Token: 0x04004445 RID: 17477
		public const int ConfirmFieldNumber = 8;

		// Token: 0x04004446 RID: 17478
		private bool confirm_;

		// Token: 0x04004447 RID: 17479
		public const int DisplayValueFieldNumber = 10;

		// Token: 0x04004448 RID: 17480
		private RogueCommonDialogueOptionDisplayInfo displayValue_;
	}
}
